/*
 *Universidad Distrital Francisco José de Caldas
 *Proyecto de grado, Tecnología en Sistematización de Datos
 *Autores: Fernando Samboni
 *         Juan Carlos Cruz
 *
 */

$(document).ready(function(){
   
    //Ubica el foco en el campo Código
    $("#codigo").focus();
    
    //Verifica si se ha presionado la tecla 'ENTER'
    $("#formActualizar").bind("keypress", function(e){
        if(e.keyCode==13){
            //alert("Ha presionado enter");
            //consultarusuario();
            return false;
        }
    });
    $("#btnConsultar").click(function(){
        consultarusuario();
        return false;
    });
    $("#btnActualizar").click(function(){
        actualizarusuario();
        return false;
    });
    
    $("#btnNuevo").click(function(){
        limpiar();
        return false;
    });
});

function procesarRespuesta(ajaxResponse)
{ 
    // observa que aquí asumimos que el resultado es un objeto 
    // serializado en JSON, razón por la cual tomamos este dato
    // y lo procesamos para recuperar un objeto que podamos
    // manejar fácilmente
    if (typeof ajaxResponse == "string"){
        ajaxResponse = $.parseJSON(ajaxResponse); 
    //alert("entro");
    }               
    return ajaxResponse;
}

function consultarusuario() {
    if($('#formActualizar').validationEngine('validate')){
        //Obtenemos los datos en variables
        var codigo = $("#codigo").val();
        var aux="consultar";
        var dataString = "codigo="+codigo+"&aux="+aux;
        //alert("datos: "+dataString);
    
        //Mandamos valores con AJAX
        $.ajax({
            async: true,
            dataType: "html",
            type: "POST",
            contentType: "application/x-www-form-urlencoded",
            url: url+"/administrador/actualizarusuario",
            data: dataString,
            beforeSend: function(data){
                $("#msjconfirmacion").html("<label style='color:blue;'>* Consultando datos...</label>");
            },
            success: function(requestData){
                //alert("Servidor respondio: "+requestData);
                if(requestData == 1){                
                    //location.reload();  //Original
                    limpiar();
                    apprise("El usuario que desea consultar no existe",{
                        'animate':true
                    });
                }					
                else{
                    $("#msjconfirmacion").html("<label style='color:green;'>* Consulta exitosa.</label>");
                    var usuarios =  procesarRespuesta(requestData);

                    if (!usuarios)
                    {
                        // no se encontraron registros :(
                        alert("No hay datos de usuario"); 
                        return;
                    }
                    $("#rol").attr("value",usuarios.idRol);
                    $("#facultad").attr("value",usuarios.codigoFacultad);
                    $("#nombre").attr("value",usuarios.nombres);
                    $("#apellido").attr("value",usuarios.apellidos);
                    $("#email").attr("value",usuarios.email);
                    $("#direccion").attr("value",usuarios.direccion);
                    $("#telefono").attr("value",usuarios.telefono);
                    $("#celular").attr("value",usuarios.celular);
                    $("#codigo").attr("disabled",'disabled');
                    $("#btnConsultar").attr("disabled",'disabled');
                    $("#btnActualizar").removeAttr('disabled');
                    $("#rol").removeAttr('disabled');
                    $("#facultad").removeAttr('disabled');
                    $("#nombre").removeAttr('disabled');
                    $("#apellido").removeAttr('disabled');
                    $("#email").removeAttr('disabled');
                    $("#direccion").removeAttr('disabled');
                    $("#telefono").removeAttr('disabled');
                    $("#celular").removeAttr('disabled');
                
                }	        
            },
            error: function(requestData, strError, strTipoError){
                alert("Error "+strTipoError+": " + strError);
            },
            complete: function (requestData, exito){}
        });        
    }
}
function actualizarusuario() { 
    //Obtenemos los datos en variables
    var codigo = $("#codigo").val();
    var rol = $("#rol").val();
    var facultad = $("#facultad").val();
    var nombre = $("#nombre").val();
    var apellido = $("#apellido").val();
    var email = $("#email").val();
    var direccion = $("#direccion").val();
    var telefono = $("#telefono").val();
    var celular = $("#celular").val();
    var aux="actualizar";
    var dataString = "codigo="+codigo+"&rol="+rol+"&facultad="+facultad+"&nombre="+nombre+"&apellido="+apellido
    +"&email="+email+"&direccion="+direccion+"&telefono="+telefono+"&celular="+celular+"&aux="+aux;
    //alert("datos: "+dataString); 
    
    //Mandamos valores con AJAX
    $.ajax({
        async: true,
        dataType: "html",
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        url: url+"/administrador/actualizarusuario",
        data: dataString,
        beforeSend: function(data){
            $("#msjconfirmacion").html("<label style='color:blue;'>* Enviando datos...</label>");
        },
        success: function(requestData){
            //alert("Servidor respondio: "+requestData);
            if(requestData == 1){                
                //location.reload();  //Original      
                $("#msjconfirmacion").html("<label style='color:green;'>* Los datos se han actualizado con exito.</label>");
                apprise("Los datos se han actualizado con exito",{
                    'animate':true
                });
                limpiar();
            }					
            else{
                limpiar();
                alert(requestData);
            //$("#msjconfirmacion").html("<label style='color:red;'>* "+requestData+"</label>");    
            }	        
        },
        error: function(requestData, strError, strTipoError){
            alert("Error "+strTipoError+": " + strError);
        //alert("Error "+requestData+": " + strError);
        },
        complete: function (requestData, exito){}
    });        
}
function limpiar() {
    $("#codigo").attr("value","");
    $("#rol").attr("value","");
    $("#facultad").attr("value","");
    $("#nombre").attr("value","");
    $("#apellido").attr("value","");
    $("#email").attr("value","");
    $("#direccion").attr("value","");
    $("#telefono").attr("value","");
    $("#celular").attr("value","");
    $("#msjconfirmacion").html("<label></label>");
    $("#codigo").removeAttr('disabled');
    $("#btnConsultar").removeAttr('disabled');
    $("#btnActualizar").attr("disabled",'disabled');
    $("#rol").attr("disabled",'disabled');
    $("#facultad").attr("disabled",'disabled');
    $("#nombre").attr("disabled",'disabled');
    $("#apellido").attr("disabled",'disabled');
    $("#email").attr("disabled",'disabled');
    $("#direccion").attr("disabled",'disabled');
    $("#telefono").attr("disabled",'disabled');
    $("#celular").attr("disabled",'disabled');
}